對於軟體工程師來說,演算法絕對是很重要的。既然早晚都要學,不如就趁早開始面對它吧(所謂早死早超生)
這系列文章主要是 LeetCode 的解題筆記,每天會有一些演算法的介紹或小知識,希望對大家有所幫助。
不過,開賽第一天,我們的重點並沒有要放在解題上,而是快速過一遍 LeetCode 環境。懶得看的人可以直接跳到最後一部份,這是我寫這篇文最主要的原因,真的必須稱讚一下 LeetCode 的環境,五星好評。
LeetCode 的主頁我覺得沒有需要太多說明的地方,就是一些熱門的發文和新聞,因此就直接進入題目頁了。題目頁右側的選單有熱門題目集,大多人刷題(應該)都會從 Top 100 Liked Questions 開始,也可以用類型來篩選,多練練差不多的題型。
選完題目後,就直接進入練習頁啦。左邊是題目,右側是輸入區,大家可以選擇自己常用的語言來解題。右下角有一個測試區,submit 前讓大家能先測試一些例子,確認無誤後再送出運算。
如果真的卡住太久沒辦法,也可以去討論去逛逛。討論區充滿各路大神以及各種厲害的解法,是否要直接放棄看解答就見仁見智,大家可以自己評估。
另外,LeetCode 也有提供官方的講解。不過這邊的狀況我不太確定,有些可以直接看,有些成功解完之後會解鎖,也有的要訂閱 premium 才能看到。如果沒有打算訂閱的話,就多多利用討論區吧。
最後這段超重要
LeetCode 最讓我讚嘆的功能就是這個啦,如果解法通過測試,LeetCode 會告訴你這個解法的速度,以及記憶體用量的大致狀況,給大家一個判斷基準,來確認自己的解法還有多少改進的空間。不過還沒結束,請移動你的滑鼠到 Status 的位置上,然後勇敢用力的點下去,不然就會像我一樣錯過一個億。這個很重要很重要真的很重要,我都說三次了可見非常重要,提交完不是 Accept 然後就結束了,觀摩大神的作品絕對讓你受益匪淺。
原本的題目頁面只能看到解法效率的 PR 值,但這邊有完整的圖表,有多少人在哪個位置都一目了然,還可以看到有一些鶴立雞群遠離大部隊的高手在遠方等著你。而且,把滑鼠移動到圖表上面,點擊下去會出現那個效率的示範解法,有時間的人也可以每個都點看看,分析一下不同解法的差距在哪,好功能真的不使用嗎。
以上就是今天的分享啦,若有錯誤歡迎留言告知,感謝大家,下次再見:)